import router from "@/router"
import { useBreadCrumb } from '@/store/breadCrumb'
import { usePermission } from '@/store/permission'
import * as api from "@/api/permission"
// 前置守卫(钩子)
router.beforeEach(async (to, from) => {
    let permissionStore = usePermission()


    // console.log(to)
    // console.log(from)

    // 判断本地的sessionStorage中是否有token,如果有，啥也不干



    let token = sessionStorage.getItem('sx-token')

    if (!token) {
        // 如果没有
        // 1.访问的不是登入页，强行跳转到登入页
        if (to.path !== '/login') {
            return {
                path: '/login'
            }
        }
    } else {

        // 如果menulist的长度是0 那么就要发起请求
        if (permissionStore.menulist.length === 0) {
            // 调用store中的action方法发起异步请求
            await permissionStore.fetch_menulist()
            // 废弃要进入的路由，重新进入动态添加的路由
            return {
                ...to
            }
        }
        
    }

})




// 全局后置钩子

router.afterEach((to, from) => {
    
    let breadCrumbStore = useBreadCrumb()
    // console.log(to)
    breadCrumbStore.$patch(state => {
        state.datas = to.matched
    })
})